/****************************
 **  所有枚举均定义在此处   **
****************************/

/// <summary>
/// 界面层级枚举
/// </summary>
public enum UIPanelType
{
    /// <summary>
    /// 抬头显示层级，显示人物属性，血条，地图等等
    /// </summary>
    HUDPanel = 1,

    /// <summary>
    /// 对话层级
    /// </summary>
    DialogPanel = 2,

    /// <summary>
    /// 游戏界面层级，例如商店页面，物品界面等
    /// </summary>
    GamePanel = 3,

    /// <summary>
    /// 弹窗界面层级,可同时存在多个
    /// </summary>
    WindowPanel = 4,

    /// <summary>
    /// 浮窗界面层级，一些浮动的提示使用，可同时存在多个
    /// </summary>
    FloatPanel = 5,

    Max,
}

/// <summary>
/// 分发类型枚举
/// </summary>
public enum Dispatcher
{
    None = 0,

    /// <summary>
    /// 时间为单位
    /// </summary>
    Time = 1,

    /// <summary>
    /// 帧数为单位
    /// </summary>
    Frame = 2,
}

/// <summary>
/// 事件枚举
/// </summary>
public enum EventType
{
}

/// <summary>
/// 界面ID枚举
/// </summary>
public enum UIViewID
{
    /// <summary>
    /// 通用弹窗 
    /// </summary>
    MessageBoxView = 1001,
}

/// <summary>
/// 有限状态机，过渡条件枚举
/// </summary>
public enum FSMTransition
{
    Null,
    
    /// <summary>
    /// to移动
    /// </summary>
    ToMove,
    
    /// <summary>
    /// to空闲
    /// </summary>
    ToIdle,
    
    /// <summary>
    /// to攻击
    /// </summary>
    ToAttack,
    
    /// <summary>
    /// to闪避
    /// </summary>
    ToAvoid,
}

/// <summary>
/// 有限状态机，状态枚举
/// </summary>
public enum FSMState
{
    Null,
    
    /// <summary>
    /// 空闲
    /// </summary>
    Idle,
    
    /// <summary>
    /// 移动
    /// </summary>
    Walk,
    
    /// <summary>
    /// 攻击
    /// </summary>
    Attack,
    
    /// <summary>
    /// 闪避
    /// </summary>
    Avoid,
}
